<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>hello</title>
</head>
<body>
	<!-- 准备好容器 -->
	<div id="test"></div>

	<!-- 引入react核心库，引入后全局多了一个React对象 -->
	<script src="../lib/react.development.js"></script>
	<!-- 引入react-dom，用于支持react操作dom，引入后全局多了一个ReactDOM对象 -->
	<script src="../lib/react-dom.development.js"></script>
	<!-- 引入babel，用于将jsx转为js -->
	<script src="../lib/babel.min.js"></script>
  <!-- 引入prop-types，用于对组件标签属性进行限制，引入后全局多了一个PropTypes对象 -->
  <script src="../lib/prop-types.js"></script>

	<script type="text/babel">
    class Test extends React.Component {
      state = {
        list: [
          {id: 1, name: '张三'},
          {id: 2, name: '李四'},
        ]
      }

      add = () => {
        let {list} = this.state;
        let oItem = {id: list.length+1, name: '王五'};
        this.setState({
          list: [oItem, ...list]
        })
      }

      render() {
        return (
          <div>
            <button onClick={this.add}>输入input后添加数据</button>
            <div className="list">
              <h2>用index作为key</h2>
              {
                this.state.list.map((item, index) => {
                  return <div key={index}>{item.name}<input type="text" /></div>
                })
              }
            </div>
            <div className="list">
              <h2>用id作为key</h2>
              {
                this.state.list.map((item, index) => {
                  return <div key={item.id}>{item.name}<input type="text" /></div>
                })
              }
            </div> 
          </div>
        )
      }
    }

    ReactDOM.render(<Test />, document.getElementById('test'))
	</script>
</body>
</html>